ifstream, ofstream, এবং fstream হলো C++ এ ফাইল হ্যান্ডলিং করার জন্য ব্যবহৃত তিনটি প্রধান ক্লাস, যা fstream
লাইব্রেরির অংশ। এগুলোর সাহায্যে ফাইল থেকে ডেটা পড়া, ফাইলে ডেটা লেখা এবং একই সাথে ফাইল পড়া ও লেখা করা যায়।
ifstream
ক্লাস ব্যবহার করে ফাইল থেকে ডেটা পড়া হয়। এটি ইনপুট মোডে কাজ করে এবং শুধুমাত্র read
অপারেশন পরিচালনা করতে পারে।
ifstream
এর মাধ্যমে ফাইল থেকে পড়া#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream inputFile("example.txt"); // ফাইল খোলা ifstream অবজেক্ট দিয়ে
if (!inputFile) {
cout << "Error opening file!" << endl;
return 1;
}
string line;
while (getline(inputFile, line)) { // ফাইল থেকে এক লাইন করে পড়া
cout << line << endl;
}
inputFile.close(); // ফাইল বন্ধ করা
return 0;
}
বর্ণনা:
example.txt
ফাইলটি ifstream
অবজেক্ট inputFile
ব্যবহার করে খোলা হয়েছে।getline()
ফাংশনের মাধ্যমে এক লাইন করে পড়া হয়েছে এবং কনসোলে প্রিন্ট করা হয়েছে।close()
ফাংশন ব্যবহার করে ফাইলটি বন্ধ করা হয়েছে।ofstream
ক্লাস ব্যবহার করে ফাইলে ডেটা লেখা হয়। এটি আউটপুট মোডে কাজ করে এবং শুধুমাত্র write
অপারেশন পরিচালনা করতে পারে।
ofstream
এর মাধ্যমে ফাইলে লেখা#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream outputFile("example.txt"); // ফাইল খোলা ofstream অবজেক্ট দিয়ে
if (!outputFile) {
cout << "Error opening file!" << endl;
return 1;
}
outputFile << "Hello, World!" << endl; // ফাইলে লেখা
outputFile << "C++ File Handling Example." << endl;
outputFile.close(); // ফাইল বন্ধ করা
cout << "Data written to file successfully!" << endl;
return 0;
}
বর্ণনা:
example.txt
ফাইলটি ofstream
অবজেক্ট outputFile
ব্যবহার করে খোলা হয়েছে।outputFile
ব্যবহার করে ফাইলে কিছু টেক্সট লেখা হয়েছে।close()
ফাংশন ব্যবহার করে ফাইলটি বন্ধ করা হয়েছে।fstream
ক্লাস ব্যবহার করে একই ফাইলে ইনপুট এবং আউটপুট উভয় ধরনের অপারেশন করা যায়। এটি ইনপুট এবং আউটপুট উভয় মোডে কাজ করতে সক্ষম।
fstream
এর মাধ্যমে ফাইল পড়া ও লেখা#include <iostream>
#include <fstream>
using namespace std;
int main() {
fstream file("example.txt", ios::in | ios::out | ios::app); // ফাইল খোলা fstream অবজেক্ট দিয়ে, ইনপুট, আউটপুট এবং অ্যাপেন্ড মোডে
if (!file) {
cout << "Error opening file!" << endl;
return 1;
}
// ফাইলে লেখা
file << "Adding a new line to the file." << endl;
// ফাইলের শুরুতে যাওয়া
file.seekg(0);
// ফাইল থেকে পড়া
string line;
while (getline(file, line)) {
cout << line << endl;
}
file.close(); // ফাইল বন্ধ করা
return 0;
}
বর্ণনা:
example.txt
ফাইলটি fstream
অবজেক্ট file
ব্যবহার করে খোলা হয়েছে এবং এটি ইনপুট, আউটপুট এবং অ্যাপেন্ড মোডে কাজ করছে।seekg(0)
ব্যবহার করে ফাইল পয়েন্টারকে শুরুতে নিয়ে গিয়ে ফাইলের ডেটা পড়া হয়েছে।close()
ফাংশন ব্যবহার করে ফাইলটি বন্ধ করা হয়েছে।C++ এ ফাইল খোলার সময় বিভিন্ন মোড ব্যবহার করা যায়:
ios::out
এর জন্য ডিফল্ট।ক্লাস | কাজ | ব্যবহৃত মোড |
---|---|---|
ifstream | ফাইল থেকে পড়া (input) | ios::in |
ofstream | ফাইলে লেখা (output) | ios::out , ios::app , ios::trunc |
fstream | ফাইল পড়া এবং লেখা (input/output) | ios::in , ios::out , ios::app , ios::binary |
ফাইল হ্যান্ডলিংয়ের এই তিনটি ক্লাস ব্যবহার করে ফাইলের সাথে কার্যকরভাবে কাজ করা যায় এবং প্রোগ্রামের আউটপুট সংরক্ষণ বা ইনপুট হিসেবে ব্যবহার করা যায়।
common.read_more